package com.example.edu.Service;

import com.example.edu.Dto.*;
import com.example.edu.Entity.Document;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

public interface DocumentService {
    Return create(HttpServletRequest httpServletRequest, DocumentCreateDtoG documentCreateData);

    Return getList(HttpServletRequest httpServletRequest, DocumentListDtoG documentListData);

    Return getTags(HttpServletRequest httpServletRequest, TagListDtoG tagListData);

    Return get(HttpServletRequest httpServletRequest, int documentId);

    ResponseEntity<Resource> getDocument(Document document);

    Return delete(Document document);

    Return update(DocumentUpdateDtoG documentUpdateData);

    Return save(HttpServletRequest httpServletRequest, int documentId, String documentType, String pictureUrls, MultipartFile documentBody);

    Return getStudent(HttpServletRequest httpServletRequest, Integer courseId);

    Return viewTime(HttpServletRequest httpServletRequest, ViewTimeDtoG viewTimeData);

    Return like(Integer documentId);

    Return collect(Integer documentId);
}
